Systems and methods for positioning assets over a wireless network

ABSTRACT

Systems and methods for positioning assets over a wireless network are provided. In one embodiment, the method comprises: building, at a topology entity communicatively coupled to a wireless network a low-resolution spatial topology of said wireless network; selecting a list of a plurality of participating anchors for participating in a plurality of ranging events with a participating tag positionally associated with a designated asset; sending to the participating tag and to each of the participating anchors, an indication that a plurality of ranging events is to be executed therebetween; and executing, between the participating tag and each of the participating anchors, a ranging event of said plurality of ranging events; and computing, at a positioning engine a position of the participating tag and the designated asset based on a ranging information generated by the plurality of ranging events.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. patent application Ser. No.17/560,334, filed Dec. 23, 2021, which is incorporated herein byreference in its entirety.

FIELD

The present disclosure relates to wireless positioning and rangingtechnologies, and more particularly to systems and methods forpositioning assets over a wireless network.

BACKGROUND

Automated position determination or positioning is the process ofdetermining the position of a physical object such as box or a person inan automated manner, i.e., without human intervention to aid theprocess. In the disclosure below, we are excluding global positioningsystems, such as those powered by satellite systems. Instead,positioning as used herein is intended to mean positioning objects in alocalized space. Such a localized space can be as small as a room, orcan extend over very large distances, but not the entire earth.

Positioning has many applications, for example:

-   -   Asset tracking—where a company needs to know the position of its        Assets within a building or on a yard.    -   Process Automation—where the position is used as an indication        of the state of a particular Asset (e.g., knowing that an Asset        has reached the packaging department means its currently being        packed)    -   Virtual Fencing or GeoFencing— where a ‘virtual fence’ or an        area (often depicted as a polygon on a map) is setup in a        software environment; if an Asset enters or exists the fence an        alarm is raised.    -   People tracking—used to determine the current position of a        person within a space, for reasons of safety, operational        efficiency, dispatching, etc.

A common notion connected to positioning and relevant for the inventionis ranging. Ranging is the process of determining or estimating thedistance between two objects or devices. Ranging is typically performedbetween a device located at a fixed and known location and a devicewhose location needs to be determined.

Definitions

-   -   In what follows we shall use the term Asset to mean any physical        object, such as a machine, a piece of raw material, a person,        etc.    -   A Tag is a device attached to the asset and that provides the        function of position determination for the asset. A system        determines the location of the tag and from there infers the        location of the asset as being identical to that of the tag.        Tags are normally battery powered, so they have a limited life        expectancy, the lifetime of the battery. Hence low-power        operation is an important optimization metric.    -   In the following text, an Anchor specifies some form of device        that is normally installed at a fixed known location. The anchor        provides a reference location that helps to determine the        asset's location by performing ranging between the asset and the        anchor.

There are a number of technologies currently in use that providepositioning. The list below outlines the major techniques known in theart. Other specific solutions can be found but are mostly variants fromthe list below.

-   -   1. Proximity—Proximity-based solutions determine a tag to be        ‘close’ to an Anchor if the 2 devices are within wireless range        of one another. When such a wireless connection is established,        it is said that the tag is in the proximity of the Anchor. In        these kinds of solutions, tags normally have a limited wireless        range, so the proximity limits the tag's location to a        sufficiently local area, although what ‘local’ means may vary        from application to application. In applications using        Proximity-based positioning anchors are typically installed at        areas of interest, or Points-of-Interest. So, the tag being or        not being within wireless range of the anchor serves as a        classifier to determine whether or not the tag is within or        outside of the area of interest. In the above proximity is        assumed identical to being within wireless range. A slightly        more advanced version can require the received signal strength        to be at least at a certain level to establish proximity.        Similarly, the Time-of-Flight of a wireless signal between 2        objects can also be taken into consideration to determine        Proximity by requiring that time to be no longer than a        predefined time. An advantage of proximity is that the tags        utilized can be extremely cheap and small since in their most        basic form they only need to transmit short unidirectional        messages at predetermined time intervals. These messages then        need to be picked up (received) by the anchor. A typical use        case for this technology is in retail: a person's smartphone        acts as a tag, and when it gets close to a product, an anchor        affixed to that product senses that the smartphone is near and        pushes an ad or commercial offer to the smartphone related to        the particular product.    -   2. Lateration and Angulation—Lateration is the process of        determining the position of an asset, to which the tag is        attached, by taking into account the distance to multiple        anchors. This distance is usually the result of a prior ranging        activity. If three anchors are used, then it's called        Trilateration and if more than three anchors are used then it's        called multilateration. Lateration works in the following way:        assume the distance from a tag to three anchors is known and all        three anchors and the tag reside in the same plane (e.g., on the        same floor), then in theory the location of the tag can be        determined based on the known locations of the anchors. This can        be pictured by drawing a circle around each anchor with the        distance to the tag as the radius. The circles will intersect at        a single point, the location of the tag. This is called        trilateration. In reality measurement inaccuracies will cause        the circles not to perfectly intersect, leading to a certain        positioning area rather than a single point. To compensate for        measurement inaccuracies, more than three anchors can be used to        improve the accuracy, in which case the method is called        multilateration. Derivatives of the above principles are used        when the anchors and tags do not reside in the same plane. One        application of Lateration is determining a mobile phone's        location by taking into account the distance between the phone        and the cell towers the phone is connected to. Lateration is        used as a popular positioning technique when using WIFI,        Bluetooth (BLE) or Ultra-Wide-Band (UWB) as the underlying        ranging wireless technology. So, in this case Lateration        augments these technologies to become positioning technologies.        The above mechanism describes how at least three anchors are        required to determine the position of a tag on a plane. Recent        innovations relax this requirement by also estimating the angle        of arrival of a wireless message, such that, in theory, only 1        anchor is required. These methods are called angulation, or        triangulation when three anchors are involved or        multi-langulation when two or more than three Anchors are        involved. With each of the lateration and angulation methods        above ranging needs to happen between the anchor(s) and the tag.        This is carried out using one or a combination of the following        methods:        -   Signal Strength-based ranging (sometimes called RSSI-based            ranging) measures the attenuation of the signal strength            (the weakening of the wireless field) when it travels from            the Anchor to the Tag or vice-versa. The attenuation is            calculated by comparing the received signal strength to the            transmitted signal strength. This attenuation has a direct            relationship to the actual distance. Under ideal conditions,            the further away the Tag is from an Anchor, the lower the            signal strength is of the signal. For example, if the signal            was transmitted with a strength 100 and received with a            strength 10, then the attenuation is 90, or 90%, or a factor            of 1/10. This attenuation is then translated to a distance,            e.g., 15 m by using a transformation function derived from            physics. This kind of technology is used by the following            wireless positioning technologies: Bluetooth/BLE (Bluetooth            Low Energy), WIFI and cellular. The disadvantage of this            method is that signal attenuation varies due to a number of            conditions that are not related to the distance between the            Tag and the Anchor: The environment, the placement of the            antennas, the presence of objects in the line-of-sight            between Anchor and Tag, and many other factors influence the            attenuation and thus the accuracy of this method is low. It            is typical for systems using this method to achieve only            +/−5 m accuracy. The advantage of this method is that it is            technologically relatively easy to implement by not            requiring complex time synchronizations and time accurate            hardware as required by the other methods. Hence both the            Tags and the Anchors are typically cheaper than when using            other distance estimation techniques.        -   Time-of-Flight (ToF) based systems calculate the distance            between the transmitter and the receiver (anchor to tag or            tag to anchor) by calculating the time it takes for a signal            to be transmitted from one entity to another entity. Radio            waves travel at the speed of light (roughly 3×10⁸ m/s with            air as the medium between transmitter and receiver). Thus,            if the time it takes for a signal to travel is known, then            the distance travelled can be estimated. These kinds of            systems are very accurate and achieve accuracies of +/−0.1 m            with no objects in line of sight, i.e., 1 to 2 orders of            magnitude better than with the signal-strength based            approach. If there are objects, such as liquids, obstructing            the line-of-sight between transmitter and receiver, then the            speed of light will vary, giving rise to a lower accuracy            compared to an unobstructed line-of-sight, but still much            more accurate than the signal-strength based approach,            typically by an order of magnitude. ToF methods are further            split into two methods:            -   a. TDoA (Time Difference of Arrival)—TDoA measures the                time difference between ranging messages between a tag                and different anchors, i.e., the difference in time it                takes for a signal sent by the tag to arrive at                different anchors. These time differences do not                translate directly into Anchor-Tag distances. Instead,                they lead to differences in distances between the Tag                and the different Anchors. When sufficient                distance-differences are available, then the actual                Anchor-to-Tag distances can be calculated by solving a                set of equations. This implies that an anchor, on its                own, is unable to estimate the distance to/from a tag.                It requires at least one or a few more anchors to be                able to determine a difference in distance. A popular                way to make TDoA work, is to synchronize the anchors to                one common time at sub-nanosecond accuracies. That way                all the Anchors have to do is to report in the arrival                times of Tag messages, which can then be directly                compared. The advantage of this method is that it allows                for an implementation with very cheap tags: A tag emits                a message, which can be done with very simple and cheap                hardware and at very low power consumption and thus with                a very good battery life. In this case the anchors are                receiving the messages from the tag. Due to the fact                that the anchors are time-synchronized they are able to                determine the time difference of the arrival of the                tag's message. The disadvantage of this method is that                they require a complex network of wired anchors with                special and expensive hardware to keep them                time-synchronized.            -   b. TWR (Two-Way Ranging)—The distance between an anchor                and a tag is estimated using time of flight from the Tag                to the Anchor and back, or the other way around from                Anchor to Tag and back. A message has to be sent back                and forth between the tag and the anchor to perform                ranging. Here the anchor will determine the distance to                the tag (or the way around) directly, i.e., without                relying on a time synchronized network of anchors. This                method has the advantage of a cheap and low-cost anchor                network (including a cheaper installation) as they don't                need to be time-synchronized. The tags however consume                more battery power than in TDoA because there is 2-way                communication. In today's TWR applications the anchors                are typically in a constant listening mode for ranging                messages from tags. As a result, these anchors consume                considerable power and must be mains powered rather than                battery powered.

There are a number of issues or problems with state of the art asdiscussed above. Notably, these include:

Wired anchors are costly to buy and costly to install. Theabove-mentioned positioning technologies, prohibit wire-free operation,as they require at least power wiring and sometimes also data wiring tooperate. Pulling wires in a building is costly, especially so inretrofitted installations and even more so when the facility is in use,such as in hospital full of patients. Moreover, wires also limit theoptions for the placement of Anchors to places where wires can bepassed.

Signal-strength ranging is not accurate. As discussed above, methodsbased on signal strength to do ranging have a limited accuracy,typically in the order of 5 m. This limits their practicalapplicability. As an example, the movement of an Asset from a loadingdock into a trailer or from a trailer onto a loading dock is animportant logistical process event. The system needs to accurately makea distinction between an Asset standing at the back of the truck, i.e.,adjacent to the loading dock, or the Asset standing on the loading dockbut very close to the truck. This and many other use cases areout-of-reach of signal-strength ranging.

A wireless positioning network with battery-powered anchors is not ableto track mobile assets. When anchors need to be battery powered, e.g.,to avoid the need for cabling, then they will automatically need to beduty-cycled, i.e., between a sleep and awake mode. This stems from thefact that in the awake state requires significant power, which woulddeplete a reasonably sized battery faster than possible to integrate inan Anchor device from a practical and financial perspective. Thispresents a problem when mobile Tags need to be positioned, i.e., tagsthat are travelling through the network. A positioning activity requiresranging to a multitude of Anchors and assumes the ranging occurs withthe Tag being at the same place for all rangings. For a mobile Tag theonly way the rangings can occur with the tag at the same place, is whenall rangings occur at the same time. If those rangings would not occurat the same time, then different rangings would see the tag at differentlocations, breaking the positioning algorithms. One may think that anexception to the above is presented by time-synchronized duty-cycledwireless networks, such as Wirepas Massive. In these wireless networksthere is a form of time-synchronization between devices. However, thetime-synchronization of such networks in the State-of-the-Art is local,i.e., between devices in a localized area, but not throughout thenetwork. With a mobile network, a tag per definition does not stay in alocalized area. Once outside of its original are, where it could havebeen time-synchronized to the local Anchors, it will need to regaintime-synchronization in the new local area, which will require a lot ofpower from the Tag. This is not possible as a mobile Tag needs to bebattery-powered to be able wander through the network effectively. Hencetime-synchronized duty-cycled wireless networks with battery-poweredanchors also do not allow positioning of mobile assets.

Wired Anchors in Time-of-Flight methods are unpractical to install inmoving objects such as vehicles, trolleys, etc. Some use cases requireAssets to be tracked in ‘movable properties’ such as trucks andtrailers, which carry these Assets. Take the previous example where themovement of an Asset from a loading dock into a trailer or from atrailer needs to be detected. Given the Anchor's need to be connected toa wired network in all Time-of-Flight methods, it is impossible from apractical and use case perspective to install an Anchor on a truck.Hence, Assets can only be tracked when they are on site. The use casedescribed above with the Asset standing on the loading bay or in thetruck/trailer is thus also out of scope for Time-of-Flight methods asdescribed in the State-of-the-Art. To aggravate the situation,specifically in TDoA solutions, at least three anchors are required toestimate a distance. For sufficient accuracy, the distance between theAnchors needs to be sufficiently large, making it further impractical toinstall in a vehicle.

A low density of anchors increases the chances of having no line ofsight and hence a lower ranging accuracy or failure to range at all.No-Line-of-Sight (NLOS) is a term used to describe a situation where theTag does not have a direct line of sight to the Anchor because there areobjects between the Anchor and the Tag. This condition impacts theaccuracy of the distance determination with all the technologies listedabove. As a result, there may be ‘blind spots’ in the positioning area,where accuracy is negatively impact or positioning actually becomesimpossible. In case of NLOS adding additional Anchors to “circumvent”the blind spots can help regain accuracy. Installing such additionalwired Anchors is, however, often hard to achieve because the need forwiring imposes extra costs or may be impossible, especially if the wireneeds to traverse zone where wiring needs to run in special conduits oris not allowed at all. In practice we see that often the density ofAnchors is kept low, for example for reasons of cost, and the NLOS issuehas a detrimental impact on accuracy. This problem can be significantlyreduced if the Anchors could be battery powered (which is one of the keyfeatures of this invention, see below), because then they can beinstalled at very low cost (no wires to be installed). Battery-poweredAnchors can be installed in virtually any place, optimized to reduce theoccurrence a NLOS, unlike in most cases the wired Anchors, where theinstallation location is constrained by the possibility to have a wirepassed to the intended location.

Massive tag densities severely impact the positioning update rate toavoid message collisions. Current technologies, including TDoA andSignal Strength-based solutions, do not utilize any time synchronizationbetween Tags. This means Tags transmit messages based on their owndecision-making mechanisms, in most cases based on a fixed time intervalor a sensor-driven event, such as motion. When two or more Tagtransmissions overlap, at least one of them and usually both of thembecome garbled and do not lead to a successful ranging. This is called amessage collision. In a network with a small density of Tags the chancesof having 2 or more tags transmitting at the same time and thuscolliding, is low. In larger densities the collision problem becomes aproblem as the chances of collision increases. Above a certain densityof tags, a high fraction of messages collides, impairing a successfulranging and positioning deployment. Reducing the positioning update ratemay then be performed to reduce the collision rate, but such a lowerupdate rate is often incompatible with the use case requirements. Toaggravate the problem, it is important to understand that many currenttechnologies utilize the same wireless technology for both distanceestimation and for data communication, thereby increasing the number ofmessages transmitted and thus the chance of collision.

Limitations of the state-of-the-art for point-of-interest detection. InTDoA systems, at least three Anchors are required to be able tocalculate a Tag's position, as explained above. This means that forevery point-of-interest, three or more Anchors are required, which is anadditional cost. To aggravate the situation, for reasonable accuracywith TDoA, these Anchors need to be spaced sufficiently apart. On theother hand, signal strength-based solutions for Proximity-basedPoint-of-Interest detection are not accurate enough because of theirinability to reach a high ranging accuracy Thus, the only real solutionin the market that can provide, in an efficient manner, a distanceestimation, is TWR, which has other disadvantages as discussedelsewhere.

Radio technologies implementing Time-of-Flight (TOF) are not suited forbattery operation. In the State-of-the-Art positioning is usually doneusing wired Anchors. These Anchors are usually connected to a ‘backhaul’network that allows data communication between the Anchor and one ormore central device(s), which can be a network coordinator, a gateway, aserver, etc. The backhaul network is typically Ethernet, WIFI or someother high bandwidth network with a low communication latency. Thebackhaul network is typically an expensive investment and costly toinstall. If one wants to get rid of the disadvantage of wired backhaulnetwork and still keep within the capabilities of radio technologiesimplementing TOF for ranging, then with the State-of-the-Art one needsto use a battery powered system. As explained above a ToF TDoA systemcannot be battery powered, so the only alternative is to use a ToF TWRsystem. As we want to leave out a backhaul network, the ToF TWR wirelesscapability must not only be used for ranging but also for backhaulingthe received data from the Tags back to the central device. This imposesa set of difficult requirements:

-   -   1. The ranging must not overlap in time with the backhaul data        communication to avoid collisions. This thus amounts to the need        for synchronization between Anchor and Tag.    -   2. The Anchors need to establish a mechanism to communicate the        data back to the central device using the TWR's capabilities.        This is normally done by establishing some form of network        topology across the Anchor network thus implying either anchor        to anchor synchronization or else another elaborate mechanism to        do away or at least minimize message collisions.

Requirements 1 and 2 above make the system very complex and impractical,especially in high density scenarios. Efficiency is another importantfactor. The best radio technologies that implement TOF are at least 10times less power-efficient when compared to other low power radiosystems when used for data communication. As an example, from theState-of-the-Art, the Quorvo DW1000 UWB chip has an average receivepower consumption (=the current consumption when the chip is listeningfor incoming signals) of around 100 mA compared to 6.5 mA for a Nordicnrf52832 BLE Radio.

This is why current commercial systems utilizing TOF in TWR-mode mostlyuse it for peer-to-peer distance estimation in a local context (e.g., toestimate the distance between a smartphone, acting as an Anchor, and aTag).

From the issues above, it is clear that Signal Strength-based methodshave their limitations, especially limited accuracy. ToF-based methodshave the advantage of accuracy but suffer from network complexities thatmake it difficult and costly to install in buildings and practicallyimpossible to use in mobile environments because of the required wiring.Moreover, a fully battery powered network relying on TOF radiotechnologies, is not practically possible with State-of-the-Arttechnologies.

BRIEF SUMMARY

The following presents a simplified summary of the general inventiveconcept(s) described herein to provide a basic understanding of someaspects of the disclosure. This summary is not an extensive overview ofthe disclosure. It is not intended to restrict key or critical elementsof the embodiments of the disclosure or to delineate their scope beyondthat which is explicitly or implicitly described by the followingdescription and claims.

A need exists for systems and methods for managing ranging events over anetwork, or at least, provide a useful alternative thereto. Some aspectsof disclosure provide embodiments of such systems and methods.

In accordance with one aspect, there is presented a computer-implementedmethod for positioning a designated asset from a plurality of assets,the method comprising: building, at a topology entity communicativelycoupled to a wireless network, the wireless network comprising aplurality of tags positionally associated with the plurality of assetsand a plurality of anchors having a fixed physical location, alow-resolution spatial topology of said wireless network; selecting, atthe topology entity and at least in part using said low-resolutionspatial topology, a list of a plurality of participating anchors forparticipating in a plurality of ranging events with a participating tagpositionally associated with the designated asset; sending, from thetopology entity, to the participating tag and to each of theparticipating anchors, an indication that a plurality of ranging eventsis to be executed therebetween; and executing, between the participatingtag and each of the participating anchors, a ranging event of saidplurality of ranging events; and computing, at a positioning enginecommunicatively coupled to the wireless network, a position of theparticipating tag and the designated asset based on a ranginginformation generated by the plurality of ranging events.

In one embodiment, said building is done by: encoding, at the topologyentity, the fixed physical location of each of said plurality of anchorsto the low-accuracy spatial topology; identifying, at each of saidplurality of tags and at each of said plurality of anchors, a set ofin-range tags and anchors from remaining plurality of tags and pluralityof anchors; reporting, from each of said plurality of tags and each ofsaid plurality of anchors, to the topology entity, the set of in-rangetags and anchors; and inferring, at the topology entity, from said fixedphysical location of said plurality of anchors and from the set ofin-range tags and anchors, the low-accuracy topology map of the locationof the plurality of tags and the plurality of anchors.

In one embodiment, said selecting is done by, at the topology entity:determining, using the low-accuracy topology map, the plurality ofparticipating anchors as being one or more anchors from the plurality ofanchors which are the closest to the participating tag.

In one embodiment, said determining further includes: recording, at eachof said plurality of anchors and at each of said plurality of tags, asignal strength measurement corresponding to each device in said set ofin-range tags and anchors; and wherein said inferring is also based on,at least in part, said signal strength measurement.

In one embodiment, the topology entity is implemented on one of saidplurality of anchors.

In one embodiment, said topology entity comprises in a memory thereof amap of physical obstacles and their physical position, and wherein saiddetermining is based, at least in part, on said the physical position ofthe physical obstacles.

In one embodiment, the list of the plurality of participating anchors isan ordered list characterizing the order upon which the plurality ofranging events between participating anchor and each of theparticipating tags is to be executed, the order being based on anaccuracy score of said participating tag, computed by the topologyentity, a higher accuracy score being associated with a higher priority;wherein the accuracy score is based, at least in part, on a number oflinks between the participating tag and each of the plurality ofparticipating anchors, a lower number of links being associated with ahigher accuracy score; and wherein each ranging event from the pluralityof ranging events is initiated in accordance with that ordered list.

In one embodiment. the method further comprises the steps of, betweensaid building and said selecting: detecting, at each tag in theplurality of tags, via a motion sensor, a motion of said tag;identifying, at each tag, at regular time intervals, any in-range tagsand anchors from said plurality of tags and said plurality of anchors;sending, from the tag, to the topology entity a list of said identifiedin-range tags and anchors and an indication that the tag is detectingmotion; receiving, at the topology entity, the list of said identifiedin-range tags and anchors for said tag and the indication that the tagis detecting motion; and updating the low-accuracy spatial topologybased on said list of identified in-range tags and anchors.

In accordance with another aspect, there is presented a system forpositioning a designated asset in a plurality of assets over a wirelessnetwork, the system comprising: a plurality of tags communicativelycoupled to the wireless network, each tag of said plurality of tagsbeing correspondingly positionally associated with the plurality ofassets; a plurality of anchors communicatively coupled to the wirelessnetwork and each having a fixed physical location; a topology entity,the scheduling entity comprising: a memory; a network interfacecommunicatively coupled to said wireless network; and a processorcommunicatively coupled to said memory and said network interface; andwherein said scheduling entity is operable to: build a low-resolutionspatial topology of said wireless network; select, at least in partusing said low-resolution spatial topology, a list of a plurality ofparticipating anchors for participating in a plurality of ranging eventswith a participating tag positionally associated with the designatedasset; send to the participating tag and to each of the participatinganchors, an indication that a plurality of ranging events is to beexecuted therebetween; and wherein said participating tag and each ofthe participating anchors are configured to: execute, at the rangingtime, between the participating tag and each participating anchor, theranging event to produce a corresponding ranging information; and thesystem further comprising a positioning engine communicatively coupledto the network, said positioning engine configured to calculate fromeach corresponding ranging information, a position of said participatingtag and said designated asset.

In one embodiment, the topology entity is configured to build thelow-accuracy spatial topology by: encoding the fixed physical locationof each of said plurality of anchors to the low-accuracy spatialtopology; wherein each of said plurality of tags and at each of saidplurality of anchors are further configured to identify and report tothe topology entity a set of in-range tags and anchors from remainingplurality of tags and plurality of anchors; and the topology entitybeing further configured to infer, from said fixed physical location ofsaid plurality of anchors and from the set of in-range tags and anchors,the low-accuracy topology map of the location of the plurality of tagsand the plurality of anchors.

In one embodiment, said selecting is done by, at the topology entity:determining, using the low-accuracy topology map, the plurality ofparticipating anchors as being one or more anchors from the plurality ofanchors which are the closest to the participating tag.

In one embodiment, said topology entity comprises in said memory thereofa map of physical obstacles and their physical position, and whereinsaid determining is based, at least in part, on said the physicalposition of the physical obstacles.

In one embodiment, the list of the participating anchors is an orderedlist characterizing the order upon which the plurality of ranging eventsbetween participating anchor and each of the participating tags is to beexecuted, the order being based on an accuracy score of saidparticipating tag, computed by the topology entity, a higher accuracyscore being associated with a higher priority; wherein the accuracyscore is based, at least in part, on a number of links between theparticipating tag and each of the plurality of participating anchors, alower number of links being associated with a higher accuracy score; andwherein each ranging event from the plurality of ranging events isinitiated in accordance with that ordered list.

In one embodiment, at least one device of said plurality of tags andsaid plurality of anchors is changeably configurable to act as either atag or as an anchor upon receiving a trigger.

In one embodiment, the trigger is received by the at least one devicevia the wireless network.

In accordance with another aspect, there is presented a non-transitorycomputer-readable storage medium, the computer-readable storage mediumincluding instructions that when executed by a processor communicativelycoupled to a wireless network comprising a plurality of anchors, eachanchor having corresponding fixed physical location, and a plurality oftags, each tag being positionally associated with a corresponding asset,causes the processor to: build a low-resolution spatial topology of saidwireless network; select, at least in part using said low-resolutionspatial topology, a plurality of participating anchors for participatingin a plurality of ranging events with a participating tag positionallyassociated with the designated asset; send to the participating tag andto each of the participating anchors, an indication that a plurality ofranging events is to be executed therebetween.

In one embodiment, said building is done by: encoding the fixed physicallocation of each of said plurality of anchors to the low-accuracyspatial topology; receiving, from each of said plurality of tags andeach of said plurality of anchors, a set of in-range tags and anchors;inferring from said fixed physical location of said plurality of anchorsand from the set of in-range tags and anchors, the low-accuracy topologymap of the location of the plurality of tags and the plurality ofanchors.

In one embodiment, said selecting is done by, at the topology entity:determining, using the low-accuracy topology map, the plurality ofparticipating anchors as being one or more anchors from the plurality ofanchors which are the closest to the participating tag.

In one embodiment, said determining further includes: receiving fromeach of said plurality of anchors and from each of said plurality oftags, a signal strength measurement corresponding to each device of saidset of in-range tags and anchors; wherein said inferring is also basedon, at least in part, said signal strength measurement.

In one embodiment, said determining is based, at least in part, on aknown physical position of a plurality of physical obstacles.

BRIEF DESCRIPTION OF THE DRAWINGS

To easily identify the discussion of any particular element or act, themost significant digit or digits in a reference number refer to thefigure number in which that element is first introduced.

FIG. 1 illustrates a schematic diagram of a positioning system forpositioning a plurality of tags over a wireless network via a pluralityof anchors, in accordance with one embodiment.

FIG. 2 illustrates a schematic diagram of a positioning system forpositioning a plurality of tags over a wireless network via a pluralityof anchors, in accordance with one embodiment.

FIG. 3 illustrates a schematic diagram of a connection topology of anexemplary wireless network, in accordance with one embodiment.

FIG. 4 illustrates a schematic diagram of a spatial topology of theexemplary wireless network of FIG. 3 , in accordance with oneembodiment.

FIG. 5 illustrates a schematic diagram of a first iteration of a spatialtopology of the exemplary network of FIG. 3 as constructed by thetopology entity of FIG. 1 , in accordance with one embodiment.

FIG. 6 illustrates a schematic diagram of a final iteration 600 of thespatial topology of the exemplary network of FIG. 3 as constructed bythe topology entity of FIG. 1 , in accordance with one embodiment.

FIG. 7 illustrates a schematic diagram of a wireless device which may bechangeably configured to take the role of a tag and/or an anchor, inaccordance with one embodiment.

DETAILED DESCRIPTION

Various implementations and aspects of the specification will bedescribed with reference to details discussed below. The followingdescription and drawings are illustrative of the specification and arenot to be construed as limiting the specification. Numerous specificdetails are described to provide a thorough understanding of variousimplementations of the present specification. However, in certaininstances, well-known or conventional details are not described in orderto provide a concise discussion of implementations of the presentspecification.

Various apparatuses and processes will be described below to provideexamples of implementations of the system disclosed herein. Noimplementation described below limits any claimed implementation and anyclaimed implementations may cover processes or apparatuses that differfrom those described below. The claimed implementations are not limitedto apparatuses or processes having all of the features of any oneapparatus or process described below or to features common to multipleor all of the apparatuses or processes described below. It is possiblethat an apparatus or process described below is not an implementation ofany claimed subject matter.

Furthermore, numerous specific details are set forth in order to providea thorough understanding of the implementations described herein.However, it will be understood by those skilled in the relevant artsthat the implementations described herein may be practiced without thesespecific details. In other instances, well-known methods, procedures andcomponents have not been described in detail so as not to obscure theimplementations described herein.

In this specification, elements may be described as “configured to”perform one or more functions or “configured for” such functions. Ingeneral, an element that is configured to perform or configured forperforming a function is enabled to perform the function, or is suitablefor performing the function, or is adapted to perform the function, oris operable to perform the function, or is otherwise capable ofperforming the function.

In accordance with different embodiments, systems and methods forpositioning assets over a wireless network are discussed below. Thesesystems and methods provide the ability position assets by efficientlyselecting and scheduling a plurality of ranging events between aplurality of participating tags positionally associated with the assetsand a plurality of participating anchors which have a fixed knownlocation. In some embodiments, the position systems and methodsdiscussed below utilize a scheduling entity, described below inaccordance with different embodiments, that allows to reduce processingtime and power consumption for each ranging event while allowing fordenser networks by reducing or eliminating the occurrence of rangingmessage collisions. Additionally, or alternatively, the systems andmethods discussed below may rely on a topology entity, also describedbelow in accordance with different embodiments, that offers the abilityto efficiently build a low-accuracy spatial topology of the wirelessnetwork that allows to efficiently choose or select the participatingtags and anchors, including the order in which these are to be ranged.In addition, at least some of the tags and anchors discussed below areimplemented on wireless devices which are changeably configured toassume the role of a tag and/or an anchor.

Scheduling Entity

FIG. 1 illustrates schematically a positioning system 100, the systemincluding a wireless network 104 comprising a plurality of wirelessnetwork devices, some being configured to act as tags 126 positionallyassociated with the assets and the others being configured to assume therole of anchors 128 having a fixed known location. In the system 100 ofFIG. 1 , as an illustrative example only, the anchors 128 are shown toinclude three anchors: A1, A2 and A3, while the tags 126 are shown toinclude three tags: T1, T2 and T3. However, the skilled person in theart will appreciate that the network 104 may generally comprise anynumber of tags 126 and anchors 128, without limitation. The system 100is generally operable to infer the position of each asset by determiningthe position of an associated participating tag via a plurality ofranging events between the participating tag and a number ofparticipating anchors chosen from the anchors 128. In some embodiments,the tags 126 and anchors 128 may be dedicated wireless devices, while inother embodiments, they may be implemented via software and/or hardwareon wireless devices that may be changeably configured to act as orassume the role of a tag 126, an anchor 128, or both.

As shown in FIG. 1 , the system 100 may comprise, in some embodiments, ascheduling entity 102 communicatively coupled to the network 104, eitherby being implemented on a device that is part of the network 104 or bybeing operable to exchange messages with the tags 126 and anchors 128 ofthe network 104 in any sort of way. In some embodiments, the schedulingentity 102 may be implemented, in software and/or in hardware, on adevice which comprises at least one processor 112, a memory 114 and anetwork adapter 116 so as to be directly or indirectly communicativelycoupled to the network 104 and each of the tags 126 and the anchors 128.

In some embodiments, the scheduling entity 102 is configured todetermine a schedule 124 of times when the ranging should occur (i.e.,ranging times 130) for each ranging event between two or moreparticipating devices 132, meaning which tags 126 in the network 104need to be positioned (the participating tag) and which anchors 128 willparticipate in the ranging events of every such tag 126 (theparticipating anchors). As an example, in FIG. 1 , assume tag T1 will beranging with anchors A1, A2 and A3 (illustrated via the dotted lines).In some embodiments, these ranging times 130 can for example bedetermined as a delay from the time the scheduling entity 102 initiatedthe ranging cycle to start. For example, assume the scheduling entity102 initiates the ranging cycle at time=T₀ and indicates the rangingshould take place at T₃₀, i.e., 30 seconds after T₀.

In some embodiments, as illustrated in FIG. 2 , the scheduling entity102 is operable to send a plurality of ranging messages 202 to each ofthe participating devices 132 to the ranging event (e.g., selected fromthe plurality of tags 126 and anchors 128). In this example, rangingmessage 202 a, 202 d, 202 b and 202 c are sent to A1, A2, A3 and T1,respectively. In some embodiments, each of the messages 202 may bedelivered on a direct link between the scheduling entity 102 and thetargeted device, as is the case when the scheduling entity 102 issitting at the top of a star network topology. Or, in some embodiments,the network 104 may be any other form of network, where multiple linksbetween devices must be traversed to deliver the message to the rangingdevice, such as for example in a mesh network or the like. Thus, theskilled person in the art will appreciate that the schematic diagrams ofFIGS. 1 and 2 are not meant to illustrate any specific networkconfiguration and/or topology, but only to illustrate generically therole associated with the scheduling entity 102, tags 126 and anchors128.

In some embodiments, the scheduling entity 102 may not message allparticipating devices 132 simultaneously. In such cases, the delayencoded in each of the messages 202 from the scheduling entity 102 to agiven participating tag or participating anchor from the participatingdevices 132 further takes into account the delays between the differentmessages 202 from the scheduling entity 102 so as to correct the delaysuch that the effective ranging time falls at the same time for everyparticipating device.

In order for the ranging devices/participants to know when to initiate aranging event/exercise, they need to take into account the travel timeit took the message from the scheduling entity 102 to arrive. Forexample, in FIG. 2 :

-   -   A1 receives the ranging message 202 a with a travel time of 7        seconds. A1 schedules the ranging event for t₀+30 s−7 s=23 s. In        23 seconds, A1 will start the ranging event to Tag T1.    -   A2 receives the ranging message 202 b with a travel time of 14        seconds. A2 schedules the ranging event for 16 seconds.    -   A3 receives the ranging message 202 c with a travel time of 20        seconds. A3 schedules the ranging event for 10 seconds.    -   T1 receives the ranging message 202 d with a travel time of 25        seconds and schedules the event for 5 seconds and it is also        aware that it will range with Anchors A1, A2 and A3.

In some embodiments, in order to calculate the travel time, the actualtime the wireless ranging messages 202 travels through space may beignored, because this happens at the speed of light and the distancescovered in the intended applications are small enough that the wirelessdelay is negligible for this purpose. Instead, in some embodiments, therelevant travel time is the time to process a ranging message 202,either by the transmitter, i.e., the time between the decision to make atransmission and the time the transmission is actually sent, as well asthe time between a receiver receiving the message and the time where themessage has been decoded. In a network where there are intermediatereceiver/transmitters (aka ‘transceivers’) between the origin and thefinal destination, such as a mesh network or the like, multipletransmission and reception processing times need to be added together.

In some embodiments, one way to calculate travel time is for everydevice which is part of the message chain to add its own processing timeto the processing time communicated by the previous device in the chainand to communicate the accumulated travel time to the next device. Hencethe final device knows the total travel time it took the message and cancalculate the ranging time accordingly.

In other embodiments, another way to calculate travel time is when thenetwork is an entirely or partially time synchronized network (i.e., anetwork where the Scheduling Entity as well as the devices participatingin the ranging (3 Anchors+1 Tag in the example above) are all aware of acommon time base). In this case it suffices for the scheduling entity tocommunicate in its message the time it sent its message and the Anchorsand Tags to subtract this time from the reception time to calculate thetravel time.

In further embodiments, yet another way to schedule ranging activitiesis to synchronize the devices in the network first, by sending asynchronization signal to all the participating devices on the network,and subsequently use this synchronization as a point of reference forscheduling the ranging. In order to keep the network devicessynchronized, one may have to periodically resend the synchronizationsignal.

In some embodiments, the scheduling entity 102 is further configured toschedule the ranging events to occur at slightly different ranging times130, so as to avoid undesirable message collisions to occur. Messagecollisions are messages overlapping in time and in the same area, whichinterfere with another rendering the colliding messages unreadable.Typically, when this occurs, the messages need to be resent or repeateduntil they are all properly received. In some embodiments, thescheduling entity 102 may provide a slightly offset ranging delay toevery participating ranging device. In the example of FIG. 1 andassuming T_(ranging) is the time required to run a ranging event betweena tag 126 and an anchor 128, then in some embodiments, A1 could bescheduled at T₃₀ while A2 could be scheduled at T₃₀+T_(ranging) and A3could be scheduled at T₃₀+2*T_(ranging). However, larger values for theoffset between ranging events may also be used, without limitation.

In the present disclosure, any know method or technique used toimplement a ranging event between a tag 126 and an anchor 128 may beused, without limitation. This may include for example proximitymethods, lateration and angulation based methods, signal strength basedmethods and/or ToF-based methods.

Once the ranging events have been executed, the information obtainedfrom each ranging event may be sent to a positioning engine 134 (PE) orsimilar, which may be implemented, in some embodiments, in hardwareand/or software on any device communicatively coupled to the network104. In some embodiments, the PE 134 is configured to compute theposition or physical location of the participating tag based on theranging information received from the participating tag andparticipating anchors. In some embodiments, the PE 134 may beimplemented on a same device as the scheduling entity 102.

In accordance with different embodiments, the positioning system 100described above provides a number of advantages over the prior art,including:

-   -   1. Fewer message collisions:        -   Fewer message retransmissions keep more time available to            send useful messages, for ranging purposes or other            purposes, thus enabling 2 advantages:            -   i. Allowing denser wireless networks, i.e., networks                with more participants in the same area.            -   ii. Allowing the network more time to perform other                useful functions.        -   Fewer message retransmissions avoid using power for the            retransmissions, hence prolonging the battery life of the            device.    -   1. Allows positioning/ranging a moving tag: since a ranging        event only takes a very short time (a few mS) to carry out and        hence a full positioning cycle, including multiple ranging        events to multiple anchors, is also accomplished within a very        short time, a tag can also range while it is in motion as the        motion distance during the positioning can be assumed to be        negligible.    -   2. The system 100 allows to save power by limiting the active        time of the devices (e.g., not in sleep mode).

Time-Synchronized Low Power Communication Network

In some embodiments, the network 104 may be a time-synchronizedlow-power network, such as a time-synchronized wireless communicationnetwork or the like. In such a network, devices are all synchronized toa single clock (so have an absolute knowledge of time), or there istime-synchronization between any two devices that can communicate withone another and thus for which full network time-synchronization can becomputed. One non-limiting example of such a network technology is theproprietary Wirepas Massive communication protocol. Such atime-synchronized network can route messages through the network acrossmultiple hops with very little power because neighbouring devices canagree on a time to exchange a message and be in a very low-power“sleeping” state otherwise.

In some embodiments, such a low-power time-synchronized wireless networkis used for the scheduling of the ranging as discussed above. Thus, theanchors 128 in the ranging/positioning application may be configured tooperate in low-power and hence on battery power, for the followingreasons:

-   -   1. Neither the anchors 128 nor the tag 126 need to be in a        power-consuming listening state all the time, waiting for a        message from the other device to signal an upcoming ranging        event. Instead, thanks to the time-synchronization, the devices        can agree on a time to carry out the ranging, without wasting        power-consuming time waiting for the other device.    -   2. Neither the anchors 128 nor the tag 126 need to send repeated        Discovery Messages while waiting for the other device to become        available. Indeed, the Discovery Messages used in TWR are really        used to achieve momentary synchronization between anchor and        tag, which is now inherited from the time synchronized wireless        network.

In some embodiments, the anchors 128 can be configured to operate in avery low-power mode, enabling battery powering the anchors and avoidingthe need for power-wiring. As data communication too is wireless in thiscase, the anchors 128 may be entirely wire-free. Wire-free anchors havethe large benefit that cable infrastructure can be avoided. Such cableinfrastructure is expensive to install. In some cases, it is evenimpossible to achieve (e.g., when the facility is in use and cannot bevacated to allow for infrastructure installation). A good non-limitingexample is a hospital or the like.

An additional benefit of using a time-synchronized wirelesscommunication network is that due to the ease of installation ofwire-free (battery operated) anchors, one can install more anchors andinstall anchors at better chosen locations. This effect has theadvantage that the ranging and this positioning accuracy will be muchhigher.

Multicasting Ranging/Positioning

In some embodiments, the ranging messages 202 may be sent from thescheduling entity 102 to the participating tags and participatinganchors via individual messages to every participating device 132 (e.g.,using a unicast approach). The unicast approach is however not alwaysefficient, because of the large overhead each message brings along inaddition to the useful payload information.

Thus, in some embodiments, ranging messages may be sent from thescheduling entity 102 to the participating devices 132 in a Multicastfashion. The ranging messages 202 may be sent using one or moremulticast messages instead of individual unicast messages. A multicastmessage has several destination devices and thus introduces less totaloverhead. By using multicast messaging, the ranging/positioning activityrequires fewer messages in the network, thereby (1) saving power on thedevices through which messages are routed and (2) leaving more time forother messages in the network, which in turn allows for (2a) more densernetworks and/or (2b) a higher activity level for the existing networkdevices.

Sub-Group Addressing of Devices for Ranging/Positioning

In some embodiments, the devices participating in a positioning/rangingactivity/event may be addressed with a sub-group or a shorter form oftheir network address over network 104.

Typically, in wireless networks, devices all have a unique address inthe network, their network address. To allow for a large number ofdevices to be part of the same network, a sufficiently large numberspace needs to be foreseen (e.g., 3 bytes). In reality, manufacturersoften choose to give out addresses that are unique beyond any singlenetwork, such that the address space is often much larger, such as 4bytes or more. In the State-of-the-Art every time a device is addressed,the full address of the device is used in the communicated messages.

In a positioning technology, where one or more anchors 128 and a tag 126participate in the positioning of said tag 126 by executing a rangingaction, multiple devices need to be addressed by the scheduling entity102. As this address uses up a considerable amount of space (e.g., 4bytes), it takes a non-negligible time to transmit and process themessages by the ranging devices and also by possible devices (if any)acting as routers between the scheduling entity 102 and theparticipating devices. As a result, the long addresses consume preciousairtime and power throughout the network.

In some embodiments, the network address of at least some of the devicesmay be shortened. In some embodiments, the shortening may be donethrough any method known in the art, such as, for example, hashing,sub-grouping, using a limited number of digits from the full networkaddress or using digital filters, or performing any mathematicaltransformation that reduces the information content of the address. Insome embodiments, for example, this allows to reduce the size of theaddress to 1 or 2 bytes.

Because such shortening effectively maps a larger number of addressesonto a smaller pool (e.g., when shortening from a 4-byte addressingspace to 2 bytes, the original 4,294,967,296 addresses are mapped ontoonly 65,536 addresses), it is possible that the addresses of multiplemembers of the network get mapped onto a same shortened address. As aresult, two or more devices with the same shortened address may receivethe command to range, where only one was intended. This is calledaddress duplication.

In some embodiments, the system 100 may be configured to reduce or evenremove of the occurrence of address duplication. This may be done by,for example in cases where the scheduling entity 102 has knowledge ofall the addresses on the network 104, having the scheduling entity 102deciding how much an address can be shortened without creating addressduplication, even having the scheduling entity 102 using the full longaddress if it cannot be avoided.

Additionally, or alternatively, in some embodiments, the schedulingentity 102 may have knowledge of the Network Topology (as will bediscussed further below) and use that knowledge to derive how a messagewill travel through the network 104, so as to allow for addressduplication if, from the topology, the scheduling entity 102 knows thatthe message will only ever reach the intended device and not the devicewith the duplicate shortened address.

Topology Entity

Going back to FIG. 1 , in some embodiments, the positioning system 100may comprise, alternatively or additionally to the scheduling entity102, at least one topology entity 106. Similarly to the schedulingentity 102 discussed above, the topology entity 106 may be implemented,in software and/or in hardware, on a device which is communicativelycoupled to the network 104 (as illustrated in FIG. 1 ), or in otherembodiments, on a device which is part of the network 104. As shown inFIG. 1 , in some embodiments, the topology entity 106 is implemented ona device comprising at least one processor 118 communicatively linked toa memory 122 and a network adapter 120. In some embodiments, thetopology entity 106 may be implemented on the same device as thescheduling entity 102 or one of the anchors 128.

The topology entity 106 is configured to determine, at least in part,which participating devices 132 will participate in a wirelesspositioning activity or ranging event by using network topologyinformation to determine the devices most suitable to participate insuch positioning. In some embodiments, this may be done in cooperationwith the scheduling entity 102, or in other embodiments, the topologyentity 106 may be integrated into a pre-existing system which has apre-existing means of scheduling and messaging the ranging events.

In some embodiments, topology entity 106 comprises in its memory 122 aview or knowledge of the connection/communication links betweenindividual devices of the network 104, referred herein as the connectiontopology 108 of the network. As an example only, FIG. 3 shows aconnection topology 300 of an exemplary network containing both anchorsand tags: 9 anchor 128 (A1 to A9) and 9 tags 126 (T1 to T9), the linesbetween devices indicating a connection/communication link therebetween.

In some embodiments, the topology entity 106 may be aware of thenetwork's connection topology 108 before any positioning/ranging eventis initiated and use that information to aid that positioning. In someembodiments, the connection topology 108 could have been determinedthrough various mechanisms, e.g., by determining which devices are ableto hear which other devices throughout the network 104 and thisinformation being funneled to the topology entity 106, who can thenbuild the connection topology 108.

It is typical in a wireless network that the connection topology 108 ofdevices is related to the spatial topology, i.e., where the devices arewith respect to one another in the physical world, as would be depictedon a map or floorplan. This means that devices that have a directconnection/communication link to one another are often also closer toone another than devices without such a link. The reason is thatwireless signals attenuate (weaken) as they travel has the signal powerdensity is proportional to the inverse square of the distance. Thisstatement is not absolutely exact, as other factors influence whetherdevices can wirelessly communicate. But the effect is sufficientlyprevalent to assume that the connection topology has some similarity tothe spatial topology.

To better illustrate the discussion below, FIG. 4 shows a spatialtopology 400 of the exemplary network of FIG. 3 , which is initiallyunknown to the topology entity 106. Using the relation between theconnection topology 108 and the spatial topology, and in accordance withone exemplary embodiment, the topology entity 106 can now proceed tobuild a low-accuracy spatial topology 110 of the location of the tags,in the following way:

Upon installation of the anchors A1-A9, the fixed physical location ofeach anchor is encoded in the internal memory of the topology entity 106and this information remains unchanged unless one or more anchors aremoved. The tags (T1-T9), with to-be-determined positions, may be moving,but for the sake of the explanation only may be considered nearlystationary, at least for the short time period during which positioningoccurs. So, after this step, a first iteration 600 of the low-accuracyspatial topology 110 contains only the anchors A1-A9 as illustrated inFIG. 5 .

Continuing, each device on the network 104 has the ability to report tothe topology entity 106 a list of neighbouring devices (e.g., whichother devices are within radio range, either exhaustively or else atleast a subset of the devices in range).

Using these lists of neighbouring devices, the topology entity 106 canmake an informed estimate about where the Tags T1-T9 are likely to be onthe map (i.e., the low-accuracy spatial topology 110). Such alow-accuracy spatial topology does not need to be highly accurate. Anon-limiting example of how the topology entity 106 may build thislow-accuracy spatial topology 110 is presented below, in accordance withone embodiment:

-   -   1. T3 can only see A1 and not A2, A6 or any other anchors in the        connection topology 300. It can thus be inferred that T1 is        likely on the opposite side from A1 of where A1's closest        neighbor anchors are, being A2 and A6. Hence the topology entity        106 will add them to the low-accuracy map to the North-West of        A1, assuming the top edge of the map points North.    -   2. T1 and T2 cannot see any anchor but they can see T3. As a        result, they are positioned even further away from the anchors,        but close to T3.    -   3. T7 can see A2, A3 and A5, hence the topology entity 106 will        add them to the low-accuracy map in between these three anchors.    -   4. A similar logic will estimate the spatial positions of the        other tags to arrive are the final iteration 602 of the        low-Accuracy spatial topology 110 as depicted in FIG. 6 . It can        be observed that the map 602 of FIG. 6 indeed resembles the        actual spatial topology 400 of FIG. 4 .

In some embodiment, the topology entity 106 can increase the accuracy ofthe tag positions on the low-accuracy spatial topology 110 for exampleby taking into consideration the actual signal strengths reported by thetag when the tag was discovering nearby anchors.

In some embodiments, when a tag's accurate position is at a certainmoment determined through the actual positioning activity, it'shigh-accuracy position can be added to the low-accuracy spatial topology110 in the same way an anchor is, i.e., with an assumed known positionand thus aid in estimating the low-accuracy position of other tags.

Once this low-accuracy spatial topology 110 has been built by using thetopology information, the Topology entity 106 can use it in informinghow to proceed with the selection of the participating anchors for theactual (high-accuracy) positioning of a participating tag, by selectingfrom the low-accuracy spatial topology 110 the anchors to which theparticipating tag is likely to be close by and which are hence wellsuited to perform ranging to the tag.

In some embodiments, the selected participating anchors need not bedirectly connected to the participating tag in the connection topology108, because the ranging technology may have a longer wireless rangethan the wireless communication technology used to establish theconnection topology 108, thereby allowing to incorporate more anchors inthe positioning than the connections in the low-accuracy map maysuggest.

In some embodiments, the topology entity 106 may further be fed withinformation from the physical world, such as the location of walls andother structures. This can further aid the accuracy of positioning byselecting the best anchors to position with respect thereto. Forexample, if from the physical-world information the topology entityknows that there are objects between the low-accuracy position of thetag and the anchor, then it can be expected that the ranging betweenthat anchor and the tag will be less accurate. As a result, the topologyentity 106 may favor participating anchors for ranging to thatparticipating tag to gain positioning accuracy.

The use of the topology entity 106 as described above in accordance withdifferent embodiments has multiple benefits, including for example:

-   -   1. Discovery between tags and anchors is eliminated thereby        reducing power consumption and allowing for a larger density of        devices to co-exist in the same network.    -   2. Only the most suitable devices must participate in the        positioning, resulting in lower network traffic. As a result,        the system can support a larger density of network devices        and/or a higher positioning update rate.    -   3. The method allows adding information from the physical world,        such as walls, structures, heights of objects, etc., to be taken        into account by the positioning algorithm and thus lead to        higher positioning accuracy.

Priority Ranging

In some embodiments, the network topology information may further beused to determine the order in which the positioning of tags isinitiated. This may be, in some embodiments, combined or integrated withthe systems and methods described above.

For example, in some embodiments, the order in which the tags arepositioned may be determined by taking into account the accuracy of eachtag's position in the connection topology and/or in the low-accuracyspatial topology.

One exemplary method to do this is by letting the topology entity 106establish an accuracy score for each anchor 128. In one embodiment, thismay be done by utilizing number of links to traverse between the tag andthe anchor(s).

Taking the same exemplary connection topology as in FIG. 3 again as anexample. The topology entity will first attempt to range to T3 beforeranging to T1. The logic behind this is that since T3 is connected to aknown fixed position anchor (A1), then the low-accuracy position of T3is more accurate than that of T1.

This allows, for example, to achieve a higher positioning accuracy andlower network traffic because only the most suitable anchors have toparticipate in the positioning. As a result, the system can support alarger density of network devices and/or a higher positioning updaterate. In addition, the method discussed above allows to limit theanchors participating to a positioning activity to those with a highlikelihood of having an Anchor-Tag distance between which a reliableranging can be carried out. This avoids that ranging events areattempted that do not lead to successful ranging. This in turn avoidunnecessarily depleting device batteries of device outside of reliableranging distance to the tag.

Detecting Stationary States

In some embodiments, the topology entity 106 may further take intoaccount motion information from the tags to determine when a positioningaction should take place. Detecting correctly when a tag has reached astationary state is an important feature in positioning applications.Indeed, when in a stationary state, it is of little use to carry outpower-consuming positioning/ranging actions because the position of thetag has not changed since the last time positioning was carried out.Only when the tag is in motion, is it worthwhile consuming power forranging to get a position update. If a Tag's stationary state is not orincorrectly used to drive positioning actions, then this will result in:

-   -   Extra power consumption for both the Tag and the Anchor.    -   High positioning latencies if the stationary state is detected        too late.

Typically, a tag's stationary state might be detected by having a simplemotion-triggered timer, for example the tag detects motion through anytype of motion-sensor, such as an accelerometer, a PIR sensor or anyother type of suitable mechanism. That motion then triggers a timerimplemented in the tag. When the timer expires the tag is assumed to bestationary. As long as motion occurs the timer is reset such that itonly expires after the motion stops and thus it is stationary. However,it may be difficult to determine the magnitude of the motion and hencewhether a re-positioning is required or if the previous position canstill be assumed to be sufficiently accurate.

Thus, in some embodiments, the topology entity 106 of system 100 may aidin determining when a positioning action should take place.

In one exemplary embodiment, the method works in the following way:

When a tag detects motion, for example by means mentioned above, itinforms the topology entity 106 that it is moving. The tag at this pointstarts to update its neighbor device information on a regular basis andinforms the topology entity of its new neighbors. In the special casethe wireless communication network is a mesh network, such regularneighbor discovery is usually already required by default for the meshnetwork for other purposes, thus not causing any extra overhead. Also,in other types of wireless networks, neighbor discovery can be donewithout a heavy power penalty.

Then, the topology entity 106 updates the low-accuracy spatial topology110 with the new information from the tag, thereby re-estimating thelow-accuracy position of the tag as discussed above.

If the Topology entity 106 then believes the tag has changed itsposition enough to warrant a position update (e.g., when is has likelychanged from one zone to another zone, or based on a pre-definedthreshold), the Topology entity 106 instructs the tag and/or therelevant anchors to run a positioning action.

However, if the Tag is still moving or within the same estimatedposition as before, the Topology entity 106 might defer the ranging tosave power of the anchors and tag. One example of this is if the tag ison a conveyor or within a packaging area where it is expected to bemoving constantly but still staying within a zone.

Such a method has the benefit of having a lower power consumption at thetag level because positioning only (re-)occurs when a substantial changein position has been observed; and the additional benefit of a lowernetwork traffic because fewer useless repositioning activities required,hence supporting a denser network of tags.

Interchanging Tag and Anchor Roles

In some embodiments, the tags and anchors maybe configured so that a tagmay change its role into an anchor and vice-versa. For example, in someembodiments and as illustrated in FIG. 7 , at least one of the tags 126and anchors 128 discussed above may take the form of a wireless device702 comprising a processor 704 communicatively linked to a wirelessadapter 708 and a memory 706, and which may be changeably configured tobe operable as a tag 126 and/or an anchor 128.

In some embodiments, this may be done via a role module 710 implementedin software and/or hardware located on the memory 706 of device 702, therole module 710 comprising instructions that allow the device 702 toperform an anchor role 712 and/or a tag role 714. In some embodiments,the role module 710 may be operable to switch between the anchor role712 and tag role 714, or vice-versa, and/or it may also allow thewireless device 702 to perform both roles simultaneously.

In addition, in some embodiments, the wireless device 702 may furthercomprise one or more sensors 716 communicatively linked to the processor704, for example motion sensors, temperature sensors, or any other typeof sensors known in the art.

In some embodiments, the switch between the anchor role 712 and the tagrole 714 maybe done based on any type of trigger, either externallygenerated outside of the wireless device 702, or generated from withinthe wireless device 702. In some embodiments, the triggers may be basedon pre-defined conditions, user input, sensor input (for example fromsensors 716), detected network changes, including a change in thedetected neighbouring devices of wireless device 702. In someembodiments, the role assignment for the wireless device 702 and anychange thereto may be based, for example, on instructions received fromthe topology entity 106. This requirement is ideal in hybrid networksusing both position and distance-based features.

As an example only, assume such a device is affixed to a truck/traileror the like. When the truck approaches a loading bay, the wirelessdevice 702 on the truck assumes the role of a tag and leads to aposition with the on-site anchors. This way the system establishes aposition for the vehicle. Next when the truck is being loaded withtagged assets, the wireless device 702 on the vehicle assumes the roleof an anchor to be used by the tags being loaded onto the truck todetermine accurately when a tagged asset gets loaded.

In another example, the wireless device 702 may be attached to a movablemachine such as a medical scanner in a hospital. The device can beconfigured to assume the role of a tag to estimate the position of themachine, but it can also be simultaneously configured to assume the roleof an anchor to determine when a person carrying a tag comes close tothe machine.

In some embodiments, the wireless adapter 708 is configured to becommunicatively coupled to network 104 via a plurality of wirelesscommunication protocols/systems known in the art. This may include, forexample, and without limitation: Bluetooth/BLE (Bluetooth Low Energy),WIFI, Ultra-Wide-Band (UWB), cellular or the like.

The methods described herein may be implemented in software, hardware,or a combination thereof, in different embodiments. In addition, theorder of methods may be changed, and various elements may be added,reordered, combined, omitted, or otherwise modified. All examplesdescribed herein are presented in a non-limiting manner. Variousmodifications and changes may be made as would be obvious to a personskilled in the art having benefit of this disclosure. Realizations inaccordance with embodiments have been described in the context ofparticular embodiments. These embodiments are meant to be illustrativeand not limiting. Many variations, modifications, additions, andimprovements are possible. Accordingly, plural instances may be providedfor components described herein as a single instance. Boundaries betweenvarious components, operations, and data stores are somewhat arbitrary,and particular operations are illustrated in the context of specificillustrative configurations. Finally, structures and functionalitypresented as discrete components in the example configurations may beimplemented as a combined structure or component. These and othervariations, modifications, additions, and improvements may fall withinthe scope of embodiments as described.

While the foregoing is directed to embodiments of the present invention,other and further embodiments of the invention may be devised withoutdeparting from the basic scope thereof.

What is claimed is:
 1. A computer-implemented method for positioning adesignated asset from a plurality of assets, the method comprising:building, at a topology entity communicatively coupled to a wirelessnetwork, the wireless network comprising a plurality of tagspositionally associated with the plurality of assets and a plurality ofanchors having a fixed physical location, a low-resolution spatialtopology of said wireless network; selecting, at the topology entity andat least in part using said low-resolution spatial topology, a list of aplurality of participating anchors for participating in a plurality ofranging events with a participating tag positionally associated with thedesignated asset; sending, from the topology entity, to theparticipating tag and to each of the participating anchors, anindication that a plurality of ranging events is to be executedtherebetween; and executing, between the participating tag and each ofthe participating anchors, a ranging event of said plurality of rangingevents; and computing, at a positioning engine communicatively coupledto the wireless network, a position of the participating tag and thedesignated asset based on a ranging information generated by theplurality of ranging events.
 2. The computer-implemented method of claim1, wherein said building is done by: encoding, at the topology entity,the fixed physical location of each of said plurality of anchors to thelow-accuracy spatial topology; identifying, at each of said plurality oftags and at each of said plurality of anchors, a set of in-range tagsand anchors from remaining plurality of tags and plurality of anchors;reporting, from each of said plurality of tags and each of saidplurality of anchors, to the topology entity, the set of in-range tagsand anchors; and inferring, at the topology entity, from said fixedphysical location of said plurality of anchors and from the set ofin-range tags and anchors, the low-accuracy topology map of the locationof the plurality of tags and the plurality of anchors.
 3. Thecomputer-implemented method of claim 2, wherein said selecting is doneby, at the topology entity: determining, using the low-accuracy topologymap, the plurality of participating anchors as being one or more anchorsfrom the plurality of anchors which are the closest to the participatingtag.
 4. The computer-implemented method of claim 2, wherein saiddetermining further includes: recording, at each of said plurality ofanchors and at each of said plurality of tags, a signal strengthmeasurement corresponding to each device in said set of in-range tagsand anchors; and wherein said inferring is also based on, at least inpart, said signal strength measurement.
 5. The computer-implementedmethod of claim 1, wherein the topology entity is implemented on one ofsaid plurality of anchors.
 6. The computer-implemented method of claim3, wherein said topology entity comprises in a memory thereof a map ofphysical obstacles and their physical position, and wherein saiddetermining is based, at least in part, on said the physical position ofthe physical obstacles.
 7. The computer-implemented method of claim 1,wherein the list of the plurality of participating anchors is an orderedlist characterizing the order upon which the plurality of ranging eventsbetween participating anchor and each of the participating tags is to beexecuted, the order being based on an accuracy score of saidparticipating tag, computed by the topology entity, a higher accuracyscore being associated with a higher priority; wherein the accuracyscore is based, at least in part, on a number of links between theparticipating tag and each of the plurality of participating anchors, alower number of links being associated with a higher accuracy score; andwherein each ranging event from the plurality of ranging events isinitiated in accordance with that ordered list.
 8. Thecomputer-implemented method of claim 1, further comprising the steps of,between said building and said selecting: detecting, at each tag in theplurality of tags, via a motion sensor, a motion of said tag;identifying, at each tag, at regular time intervals, any in-range tagsand anchors from said plurality of tags and said plurality of anchors;sending, from the tag, to the topology entity a list of said identifiedin-range tags and anchors and an indication that the tag is detectingmotion; receiving, at the topology entity, the list of said identifiedin-range tags and anchors for said tag and the indication that the tagis detecting motion; and updating the low-accuracy spatial topologybased on said list of identified in-range tags and anchors.
 9. A systemfor positioning a designated asset in a plurality of assets over awireless network, the system comprising: a plurality of tagscommunicatively coupled to the wireless network, each tag of saidplurality of tags being correspondingly positionally associated with theplurality of assets; a plurality of anchors communicatively coupled tothe wireless network and each having a fixed physical location; atopology entity, the scheduling entity comprising: a memory; a networkinterface communicatively coupled to said wireless network; and aprocessor communicatively coupled to said memory and said networkinterface; and wherein said scheduling entity is operable to: build alow-resolution spatial topology of said wireless network; select, atleast in part using said low-resolution spatial topology, a list of aplurality of participating anchors for participating in a plurality ofranging events with a participating tag positionally associated with thedesignated asset; send to the participating tag and to each of theparticipating anchors, an indication that a plurality of ranging eventsis to be executed therebetween; and wherein said participating tag andeach of the participating anchors are configured to: execute, at theranging time, between the participating tag and each participatinganchor, the ranging event to produce a corresponding ranginginformation; and the system further comprising a positioning enginecommunicatively coupled to the network, said positioning engineconfigured to calculate from each corresponding ranging information, aposition of said participating tag and said designated asset.
 10. Thesystem of claim 9, wherein said topology entity is configured to buildthe low-accuracy spatial topology by: encoding the fixed physicallocation of each of said plurality of anchors to the low-accuracyspatial topology; wherein each of said plurality of tags and at each ofsaid plurality of anchors are further configured to identify and reportto the topology entity a set of in-range tags and anchors from remainingplurality of tags and plurality of anchors; and the topology entitybeing further configured to infer, from said fixed physical location ofsaid plurality of anchors and from the set of in-range tags and anchors,the low-accuracy topology map of the location of the plurality of tagsand the plurality of anchors.
 11. The system of claim 9, wherein saidselecting is done by, at the topology entity: determining, using thelow-accuracy topology map, the plurality of participating anchors asbeing one or more anchors from the plurality of anchors which are theclosest to the participating tag.
 12. The system of claim 11, whereinsaid topology entity comprises in said memory thereof a map of physicalobstacles and their physical position, and wherein said determining isbased, at least in part, on said the physical position of the physicalobstacles.
 13. The system of claim 9, wherein the list of theparticipating anchors is an ordered list characterizing the order uponwhich the plurality of ranging events between participating anchor andeach of the participating tags is to be executed, the order being basedon an accuracy score of said participating tag, computed by the topologyentity, a higher accuracy score being associated with a higher priority;wherein the accuracy score is based, at least in part, on a number oflinks between the participating tag and each of the plurality ofparticipating anchors, a lower number of links being associated with ahigher accuracy score; and wherein each ranging event from the pluralityof ranging events is initiated in accordance with that ordered list. 14.The system of claim 9, wherein at least one device of said plurality oftags and said plurality of anchors is changeably configurable to act aseither a tag or as an anchor upon receiving a trigger.
 15. The system ofclaim 14, wherein the trigger is received by the at least one device viathe wireless network.
 16. A non-transitory computer-readable storagemedium, the computer-readable storage medium including instructions thatwhen executed by a processor communicatively coupled to a wirelessnetwork comprising a plurality of anchors, each anchor havingcorresponding fixed physical location, and a plurality of tags, each tagbeing positionally associated with a corresponding asset, causes theprocessor to: build a low-resolution spatial topology of said wirelessnetwork; select, at least in part using said low-resolution spatialtopology, a plurality of participating anchors for participating in aplurality of ranging events with a participating tag positionallyassociated with the designated asset; send to the participating tag andto each of the participating anchors, an indication that a plurality ofranging events is to be executed therebetween.
 17. The non-transitorycomputer-readable storage medium of claim 16, wherein said building isdone by: encoding the fixed physical location of each of said pluralityof anchors to the low-accuracy spatial topology; receiving, from each ofsaid plurality of tags and each of said plurality of anchors, a set ofin-range tags and anchors; inferring from said fixed physical locationof said plurality of anchors and from the set of in-range tags andanchors, the low-accuracy topology map of the location of the pluralityof tags and the plurality of anchors.
 18. The non-transitorycomputer-readable storage medium of claim 17, wherein said selecting isdone by, at the topology entity: determining, using the low-accuracytopology map, the plurality of participating anchors as being one ormore anchors from the plurality of anchors which are the closest to theparticipating tag.
 19. The non-transitory computer-readable storagemedium of claim 18, wherein said determining further includes:receiving, from each of said plurality of anchors and from each of saidplurality of tags, a signal strength measurement corresponding to eachdevice of said set of in-range tags and anchors; wherein said inferringis also based on, at least in part, said signal strength measurement.20. The non-transitory computer-readable storage medium of claim 18,wherein said determining is based, at least in part, on a known physicalposition of a plurality of physical obstacles.